#ifndef CHECKPOINT_H
#define CHECKPOINT_H

#include "GameObject.h"
#include "ActivateAbility.h"
#include "Activatable.h"
#include "CheckPointStepCalculator.h"

class Checkpoint: public GameObject, public Activatable
{
public:
	Checkpoint();
	virtual ~Checkpoint();

	void Activate();
	StepCalculator* GetActivationBehavior();

	// Test code
	std::string ToString() const { return "C"; }
	void MoveTo(unsigned int cellX, unsigned int cellY);

protected:

private:
	CheckpointStepCalculator behavior;
	ActivateAbility* activateAbility;
};

#endif //CHECKPOINT_H
